#ifndef PREDATOR_H
#define PREDATOR_H

#include "Entity/BaseEntity.h"
#include "State/StateMachine.h"


class Predator :
	public BaseEntity
{
private:
	StateMachine<Predator>* m_stateMachine;

	//todo: an't use state singletons for reasons like these
	AITypes::EntityID m_currentPreyID;

public:
	Predator();
	virtual ~Predator();

	void Update();
	bool HandleMessage(const Message& message);
	std::string GetEnityName();

	StateMachine<Predator>* GetStateMachine() const;

	AITypes::EntityID GetCurrentPreyID() const;
	void SetCurrentPreyID(AITypes::EntityID id);
};

#endif

